SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TCCANJ_PROV_Q01]
/*---------------------------------------------------------*/
/*---Empresa              : OFISIS S.A.                  --*/
/*---Cliente              : OFISIS S.A.                  --*/
/*---Sistema              : Tesoreria                    --*/
/*---Mödulo               : Empresa                      --*/
/*---Programa             : Canje Documentos x Letras    --*/
/*---Script               : ttproc_i.sql                 --*/
/*---Nombre SP            : SP_TCCANJ_PROV_Q01           --*/
/*---Desarrollado por     : Javier Flores A.             --*/
/*---Fecha Creaciön       : 02/08/1999                   --*/
/*---Base Datos           : Microsoft Sql Server         --*/
/*---Versiön              : 7.0                          --*/
/*---Invoca a SP          :                              --*/
/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---Modificado 1 por     : Reynaldo Menacho L.          --*/
/*---Fecha Modificaciön   : 21/03/2002                   --*/ 
/*---Detalle Modificaciön : 				 --*/
/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---Comentarios                                         --*/
/*---                                                    --*/
/*---                                                    --*/
/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---Drop Proc SP_TCCANJ_PROV_Q01                        --*/
/*---Grant all on SP_TCCANJ_PROV_Q01 to public           --*/ 
/*---SP_TCCANJ_PROV_Q01 '01' , 1, 262, '2002/03/01', '2002/03/30', 'N', 1, 0, 0, NULL , NULL, NULL            --*/
/*---------------------------------------------------------*/
@ISCO_EMPR	      TD_VC_002,  /* C"digo de la Empresa */
@ISCO_UNID_CONC       TD_VC_003,
@ISCO_PROV            TD_VC_020,
@ISNU_CANJ            TD_VC_008,
@IDFE_CANJ            TD_DT_001
	As
Declare

/* Descripci”n TDTIPO_OPER */

@CSCO_TIPO_OPER	TD_VC_003,	/* C"digo de Operaci"n del M"dulo de Finanzas */
@CNNU_CORR	      TD_IN_001,	/* Correlativo de Detalle de la Operaci"n de Finanzas */
@CNNU_DETA	      TD_IN_001,	/* Indicador si la Tabla de Finanzas tiene 2do. detalle */
@CSCO_OPRC_CNTB	TD_VC_003,	/* C"digo de Operaci"n o Libro Contable */
@CNID_ASTO	      TD_IN_001,	/* Identificador de Asiento,una Operac"n de Finanzas puede tener varios asientos */
@CSCO_CNTA	     TD_VC_010,	/* C"digo de Cuenta Contable, debe existir en el m"dulo contable */
@CSIN_CNTA_MONE		TD_VC_001_SINO,	/* Indicador si la cuenta viene de otra tabla, como Ctas.Ctes, Centro de Costo */
@CSCO_MONE_CNTA	TD_VC_003, /* C"digo de Moneda de la Cuenta */
@CSTI_AUXI_CNTA	TD_VC_001,	/* Tipo de Auxiliar de la Cuenta Contable, Valido para la interfase */
@CSTI_DOCU_CNTA	TD_VC_003,	/* Tipo o C"digo del Documento, Para la interfase solo indica si lleva o no, Vale el que 
viene */	
@CSTI_DOCU_REFE	TD_VC_001_SINO,	/* Indicador si lleva documento de referencia 'S' Si, 'N' no */
@CSTI_MOVI	TD_VC_001,	/* Tipo de Operaci"n Contable 'C' Cargo, 'A' Abono */
@CNIM_INTE_0001	TD_IN_001,	/* Importe 1, el monto del registro contable se puede armar */
@CSOP_ARIT_0001	TD_VC_001,	/* Operaci"n Aritmetica de 'S' Suma o 'R' Resta */
@CNIM_INTE_0002	TD_IN_001,	/* Importe 2, el monto del registro contable se puede armar */
@CSOP_ARIT_0002	TD_VC_001,	/* Operaci"n Aritmetica de 'S' Suma o 'R' Resta */
@CNIM_INTE_0003	TD_IN_001,	/* Importe 3, el monto del registro contable se puede armar */
@CSDE_GLOS_INTE	TD_VC_080,	/* Glosa especial que prevalece sobre las primeras observaciones al documento */

/* Descripci"n TMDOCU_PROV */
@CSCO_MONE_MOVI	TD_VC_003,	/* Moneda en la que se genero la operaci"n de Finanzas */
@CNFA_TIPO_CAMB	TD_NU_016_004,/* Factor de Cambio de la Moneda utilizada en la operaci"n de Finanzas */
@CSCO_AUXI_CABE	TD_VC_020,	/* C"digo de Auxiliar, es decir del Provvedor, Cliente que genero la operaci"n de Finanzas */
@CSTI_DOCU_CABE	TD_VC_003,	/* Tipo de Documento de la operaci"n de Finanzas */
@CSNU_DOCU_CABE	TD_VC_020,	/* Nomero de Documento de la operaci"n de Finanzas */
@CDFE_EMIS_CABE	TD_DT_001,	/* Fecha de Emisi"n del Documento de la operaci"n de Finanzas */
@CSTI_DORE_CABE	TD_VC_003,	/* Tipo de Documento de Referencia de la operaci"n de Finanzas */
@CSNU_DORE_CABE	TD_VC_020,	/* Nomero de Documento de Referencia de la operaci"n de Finanzas */
@CNIM_CABE_0001	TD_NU_016_004,		/* Importe 1, Ejm. Importe Bruto. */
@CNIM_CABE_0002	TD_NU_016_004,		/* Importe 2, Ejm. Gastos Financieros */
@CNIM_CABE_0003	TD_NU_016_004,		/* Importe 3, Ejm. Mora */
@CNIM_CABE_0004	TD_NU_016_004,		/* Importe 4, Ejm. Flete */
@CNIM_CABE_0005	TD_NU_016_004,		/* Importe 5, Ejm. Descuento */
@CNIM_CABE_0006	TD_NU_016_004,		/* Importe 6, Ejm. Impuesto 1 */
@CNIM_CABE_0007	TD_NU_016_004,		/* Importe 7, Ejm. Impuesto 2 */
@CNIM_CABE_0008	TD_NU_016_004,		/* Importe 8, Ejm. Impuesto 3 */
@CNIM_CABE_0009	TD_NU_016_004,		/* Importe 9, Ejm. Importe Total */
@CNIM_CABE_0010	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_CABE_0011	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_CABE_0012	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_CABE_0013	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_CABE_0014	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_CABE_0015	TD_NU_016_004,		/* Importe para futuro uso */
@CSDE_GLOS_CABE	TD_VC_100,	/* Primera observacion de la operaci"n de Finanzas, solo se usa cuando DE_GLOS_INTE = null */

/* Declaro variables para el cursor de la tabla TDDISP_CCOS - DETALLE */

@CSCO_AUXI_DETA	TD_VC_020,	/* C"digo de Auxiliar, Ejm: Centro de Costo */
@CNIM_DETA_0001	TD_NU_016_004,		/* Importe 1, Ejm. Importe Distribuido */
@CNIM_DETA_0002	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0003	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0004	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0005	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0006	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0007	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0008	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0009	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0010	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0011	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0012	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0013	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0014	TD_NU_016_004,		/* Importe para futuro uso */
@CNIM_DETA_0015	TD_NU_016_004,		/* Importe para futuro uso */

/* Variables de Trabajo   */

@VSVA_QUIE	      TD_VC_050,	/* Quiebre del Nomero de Asiento Contable */
@VNSE_ASTO	      TD_IN_001,		/* Secuencial de registros en un Asiento */
@VNIM_VARI_0001	TD_NU_016_004,		/* Valor de la Variable 1, para armar el Importe */
@VNIM_VARI_0002	TD_NU_016_004,		/* Valor de la Variable 2, para armar el Importe */
@VNIM_VARI_0003	TD_NU_016_004,		/* Valor de la Variable 3, para armar el Importe */
@VNNU_FETC_0001   TD_IN_001, 		/* Status del 1er. cursor */
@VNNU_FETC_0002   TD_IN_001, 		/* Status del 2do. cursor */

/* Variables de la tabla de interfase contable TIMVTO_CNTB */

@VNNU_ANNO		TD_IN_001,	/* Nomero de A?o, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */
@VNNU_MESE		TD_IN_001,	/* Nomero de Mes, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */
@VSNU_ASTO		TD_VC_010,	/* Nomero Asiento Generado, secuencial por identificador de interfase */
@VNNU_SECU		TD_IN_001,		/* Nomero secuencial de cada registro de un asiento */
@VDFE_ASTO_CNTB	TD_DT_001,	/* Fecha del Asiento, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */
@VSCO_CNTA_EMPR	TD_VC_010,	/* C"digo de la Cuenta Contable a nivel An~litico */
@VSTI_AUXI_EMPR	TD_VC_001,	/* Tipo de Auxiliar Contable Ejm.'C' Clientes, 'P' Proveedor , etc. */
@VSCO_AUXI_EMPR	TD_VC_020,	/* C"digo del Auxiliar Contable, Ejm. C"digo del Proveedor */ 
@VSCO_DOCU		TD_VC_003,	/* C"digo o Tipo de Documento, Ejm. FAC Factura, BOL Boleta */
@VSNU_DOCU		TD_VC_020,	/* Nomero de Documento */
@VDFE_DOCU		TD_DT_001,	/* Fecha de Emisi"n del Documento */
@VSTI_CAMB		TD_VC_001, 	/* Tipo de Cambio 'P' Pactado, 'V' Ventas, 'C' Compra */
@VSCO_MONE		TD_VC_003,	/* C"digo de Moneda, 'SOL' Soles, 'DOL' D"lares */ 
@VNFA_CAMB		TD_NU_016_004,/* Factor de Cambio, SOL = 1.000, 'DOL' lo que indica el documento */
@VSTI_OPER		TD_VC_001,	/* Tipo de Operaci"n 'C' Cargo, 'A' Abono */
@VSDE_GLOS		TD_VC_080,	/* Glosa del registro contable */
@VSCO_DOCU_REFE	TD_VC_003,	/* C"digo o Tipo de Documento Contable de Referencia, Opcional*/
@VSNU_DOCU_REFE	TD_VC_020,	/* Nomero de Documento de Referencia, Opcional */
@VNIM_MVTO_ORIG	TD_NU_016_004,	/* Importe en moneda origen, soles o d"lares segon sea el caso */
@VNIM_MVTO_CNTB	TD_NU_016_004,	/* Importe en moneda del sistema por lo general soles */
@VSNO_GIRA		TD_VC_050,	/* Nombre a quien se le gira el cheque, para el caso del chque voucher */
@CSNO_GIRA		TD_VC_050,	/* Nombre a quien se le gira el cheque, para el caso del chque voucher */
@VSOR_TRAB		TD_VC_020,	/* Orden de Trabajo o Actividad, opcional */
@VSSI_MVTO_CNTB	TD_VC_001,	/* Situaci"n del Movimiento 'I' Activo 'E' Eliminado */
@VSSI_MVTO_DOCU	TD_VC_001,	/* Situaci"n del Documento 'S' Cancelado 'E' No Cancelado */
@VSNU_ASTO_ORIG	TD_VC_010,	/* Nomero de asiento origen para el caso de asientos generados */
@VSST_OTRS		TD_VC_020,	/* Para usos futuros */
@VSCO_USUA		TD_VC_008,	/* C"digo de usuario que genera el registro */
@VDFE_SIST		TD_DT_001,	/* Fecha y hora en la que se genera el registro */
@VSCO_CNTA_DETA   TD_VC_010,	/* C"digo de la Cuenta Contable TABLA DE DISTRIBUCION */
@VNFC_ASTO		TD_IN_001,  /* INDICADOR DE CERO DE SECUENCIAL DE ASIENTO */
@CSCO_UNID_CNTB   TD_VC_003, 
@VSST_AUXI_EMPR	TD_VC_001,
@VDFE_VENC        TD_DT_001,
@CDFE_VENC_CABE   TD_DT_001,
@VSST_SIGN        TD_VC_001,
@VNNU_REGI        TD_IN_001,
@VSST_FLAG        TD_VC_001,
@CSCO_MONE_DETA   TD_VC_003,
@CSTI_DOPR_DETA   TD_VC_003,
@CSNU_COMP_BANC   TD_VC_008,
@CDFE_DOCU_DETA   TD_DT_001,
@CSCO_CNTA_EMPR   TD_VC_010,
@VSNU_MESE        TD_VC_002,
@VSTI_AUXI_CNTA   TD_VC_001,
@VSTI_DOCU_CNTA   TD_VC_003,
@CSTI_ENTI        TD_VC_001,
@VSTI_AUXI_DOCU   TD_VC_003,
@CSCO_TIPO_DOCU   TD_VC_003, 
@VSCO_MONE_CNTA   TD_VC_003,
@CSNU_CANJ        TD_VC_008,
@CDFE_CANJ        TD_DT_001,
@CSNU_LETR_PROV   TD_VC_020,
@VNNU_REGI_LETR   TD_IN_001,
@CSCO_CNTA_DETA   TD_VC_010,
@VSST_AUXI_DOCU   TD_VC_001,
@OSTI_DOCU_CRET   TD_VC_003,
@VSNU_LETR_PROV   TD_VC_020,
@VNNU_FILA 	  TD_IN_001,
@VSNO_AUXI        TD_VC_100


SELECT @VNNU_FILA = 1


CREATE TABLE #TTINTE_TESO
(NU_SECU        INT           NULL,
 FE_ASTO_CNTB   DATETIME      NULL, 
 CO_CNTA_EMPR   VARCHAR(10)   NULL,
 DE_CNTA_EMPR   VARCHAR(50)   NULL,
 TI_AUXI_EMPR VARCHAR(1) NULL,
 CO_AUXI_EMPR   VARCHAR(20)   NULL,
 NO_AUXI        VARCHAR(100)  NULL,
 TI_DOCU        VARCHAR(03)   NULL, 
 NU_DOCU        VARCHAR(20)   NULL, 
 CO_MONE        VARCHAR(03)   NULL, 
 FA_CAMB_DIAR   NUMERIC(15,6)  NULL, 
 TI_OPER        VARCHAR(3)    NULL, 
 IM_MVTO_ORIG   NUMERIC(16,4) NULL,
 IM_MVTO_CNTB   NUMERIC(16,4) NULL,  
 DE_GLOS        VARCHAR(100)  NULL)

/* Declaro cursor de la tabla TCCANJ_PROV  y TDTIPO_OPER - CABECERA */
Declare CU_TTPROC_INTE_I08_1 Cursor For
SELECT t3.CO_TIPO_OPER, t3.NU_CORR, t3.NU_DETA, t3.CO_OPRC_CNTB, t3.NU_ASTO,
t3.CO_CNTA_EMPR, t3.IN_CNTA_MONE, t3.CO_MONE, t3.TI_AUXI_EMPR, t3.TI_DOCU, t3.TI_DOCU_REFE,
t3.TI_MOVI, ISNULL(t3.IM_0001,0), t3.OP_ARIT_0001, ISNULL(t3.IM_0002,0), t3.OP_ARIT_0002,
ISNULL(t3.IM_0003,0), t3.DE_GLOS,
t2.CO_PROV, t2.NU_CANJ, t4.CO_MONE, t2.CO_TIPO_DOCU, t2.NU_DOCU_PROV , t4.FE_EMIS, t1.FE_CANJ, 
Isnull(t2.IM_CANJ_MDOC,0) , t1.DE_OBSE, t1.CO_UNID_CONC, t1.FA_TIPO_CAMB
FROM  TCCANJ_PROV t1, TDCANJ_PROV t2, TDTIPO_OPER t3, TMDOCU_PROV t4
WHERE t1.CO_EMPR = @ISCO_EMPR And 
      t1.CO_UNID_CONC = @ISCO_UNID_CONC And
      t1.CO_PROV = @ISCO_PROV And
      t1.NU_CANJ = @ISNU_CANJ And  
      t1.FE_CANJ = @IDFE_CANJ And
      t1.CO_EMPR = t2.CO_EMPR  And
      t1.CO_UNID_CONC = t2.CO_UNID_CONC And
      t1.CO_PROV = t2.CO_PROV  And
      t1.NU_CANJ = t2.NU_CANJ  And
      t1.FE_CANJ = t2.FE_CANJ  And 
      t2.CO_TIPO_DOCU is not NULL And  
      t2.NU_DOCU_PROV is not NULL And
      t1.CO_EMPR = t3.CO_EMPR And
      t1.CO_TIPO_OPER = t3.CO_TIPO_OPER And
      t2.CO_EMPR = t4.CO_EMPR And 
      t2.CO_PROV = t4.CO_PROV And 
      t2.CO_TIPO_DOCU = t4.CO_TIPO_DOCU And 
      t2.NU_DOCU_PROV = t4.NU_DOCU_PROV 
Order By t3.CO_TIPO_OPER, t3.CO_OPRC_CNTB, t2.CO_PROV, t2.NU_CANJ, t2.CO_TIPO_DOCU , t2.NU_DOCU_PROV, 
	 t3.NU_ASTO, t3.NU_CORR, t3.NU_DETA

/* Abre Cursor de Interfase - Cabecera */
Open CU_TTPROC_INTE_I08_1

/* Inicializo variables de trabajo e insercci"n */
Select @VNIM_VARI_0001	= 0
Select @VNIM_VARI_0002	= 0
Select @VNIM_VARI_0003	= 0

Select @VNNU_ANNO = 0
Select @VNNU_MESE = 0
Select @VSNU_ASTO = NULL

Select @VDFE_ASTO_CNTB = NULL
Select @VSCO_CNTA_EMPR = NULL
Select @VSTI_AUXI_EMPR = NULL
Select @VSCO_AUXI_EMPR = NULL
Select @VSCO_DOCU = NULL
Select @VSNU_DOCU = NULL
Select @VDFE_DOCU = NULL
Select @VSTI_CAMB = NULL
Select @VSCO_MONE = NULL
Select @VNFA_CAMB = 0
Select @VSTI_OPER = NULL
Select @VNIM_MVTO_ORIG = 0
Select @VNIM_MVTO_CNTB = 0
Select @VSDE_GLOS = NULL
Select @VSNO_GIRA = NULL
Select @VSOR_TRAB = NULL
Select @VSSI_MVTO_CNTB = NULL
Select @VSSI_MVTO_DOCU = NULL
Select @VSST_OTRS = NULL
Select @VSCO_USUA = NULL
Select @VDFE_SIST = NULL

/* Lee cursos de Interfase - Cabecera */

Fetch CU_TTPROC_INTE_I08_1 Into
@CSCO_TIPO_OPER, @CNNU_CORR, @CNNU_DETA, @CSCO_OPRC_CNTB, @CNID_ASTO,
@CSCO_CNTA, @CSIN_CNTA_MONE, @CSCO_MONE_CNTA, @CSTI_AUXI_CNTA, @CSTI_DOCU_CNTA, @CSTI_DOCU_REFE,
@CSTI_MOVI, @CNIM_INTE_0001, @CSOP_ARIT_0001, @CNIM_INTE_0002, @CSOP_ARIT_0002, @CNIM_INTE_0003,
@CSDE_GLOS_INTE, @CSCO_AUXI_CABE, @CSNU_CANJ, @CSCO_MONE_MOVI, @CSTI_DOCU_CABE, @CSNU_DOCU_CABE, @CDFE_EMIS_CABE, @CDFE_CANJ,
@CNIM_CABE_0001, @CSDE_GLOS_CABE, @CSCO_UNID_CNTB, @CNFA_TIPO_CAMB

/* @CNFA_TIPO_CAMB SE JALARA DESDE LA TABLA DE LETRAS*/

Select @VNNU_FETC_0001  = @@FETCH_STATUS

Select @VNNU_SECU = 0

/* Inicializo Loop de Cabecera de Informaci"n */

While (@VNNU_FETC_0001  = 0)
  BEGIN
       IF (@VNNU_FETC_0001   < 0)
          BEGIN
	    CLOSE CU_TTPROC_INTE_I08_1
	    DEALLOCATE CU_TTPROC_INTE_I08_1
	    RETURN
          END

	/*  Asigna Nomero a?o   */
		SELECT @VNNU_ANNO = DATEPART(YEAR, @CDFE_CANJ)

	/*  Asigna Nomero de mes   */
		SELECT @VNNU_MESE = DATEPART(MONTH, @CDFE_CANJ)

	/*  Asigna Fecha del Asiento   */ 
		SELECT @VDFE_ASTO_CNTB =  @CDFE_CANJ

	/*  Asigna Tipo de Auxiliar Empresa   */
		IF @CSTI_AUXI_CNTA != ''
			SELECT @VSTI_AUXI_EMPR = @CSTI_AUXI_CNTA
		ELSE
			SELECT @VSTI_AUXI_EMPR = NULL

	/*  Asigna C"digo de Auxiliar   */
		IF @CSTI_AUXI_CNTA != ''
			SELECT @VSCO_AUXI_EMPR = @CSCO_AUXI_CABE
		ELSE
			SELECT @VSCO_AUXI_EMPR = NULL

	/*  Asigna Tipo de Documento   */
		IF @CSTI_DOCU_CNTA != ''
			SELECT @VSCO_DOCU = @CSTI_DOCU_CABE
		ELSE

			SELECT @VSCO_DOCU = NULL

	/*  Asigna C"digo de Documento   */
		IF @CSTI_DOCU_CNTA != ''
			SELECT @VSNU_DOCU = @CSNU_DOCU_CABE
		ELSE
			SELECT @VSNU_DOCU = NULL

	/*  Asigna Fecha de Documento   */

		IF @CSTI_DOCU_CNTA != '' 
			SELECT @VDFE_DOCU = CONVERT(DATETIME, @CDFE_EMIS_CABE)
		ELSE
			SELECT @VDFE_DOCU = NULL

	/*  Asigna Tipo de Cambio Pactado  */
		SELECT @VSTI_CAMB = 'P'

	/*  Asigna C"digo de la Moneda */
		SELECT @VSCO_MONE = @CSCO_MONE_CNTA
	
	/*  Asigna Tipo de Movimiento */
		SELECT @VSTI_OPER = @CSTI_MOVI

	/*  Asigna Importe Origen del Movimiento  */
		/* Evalua la columna a Utilizar @CNIM_INTE_0001 */
			IF @CNIM_INTE_0001 = 0
				SELECT @VNIM_VARI_0001 = 0.00
			IF @CNIM_INTE_0001 = 1
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0001
			IF @CNIM_INTE_0001 = 2
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0002
			IF @CNIM_INTE_0001 = 3
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0003
			IF @CNIM_INTE_0001 = 4
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0004
			IF @CNIM_INTE_0001 = 5
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0005
			IF @CNIM_INTE_0001 = 6
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0006
			IF @CNIM_INTE_0001 = 7
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0007
			IF @CNIM_INTE_0001 = 8
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0008
			IF @CNIM_INTE_0001 = 9
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0009
			IF @CNIM_INTE_0001 = 10
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0010
			IF @CNIM_INTE_0001 = 11
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0011
			IF @CNIM_INTE_0001 = 12
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0012
			IF @CNIM_INTE_0001 = 13
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0013
			IF @CNIM_INTE_0001 = 14
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0014
			IF @CNIM_INTE_0001 = 15
				SELECT @VNIM_VARI_0001 = @CNIM_CABE_0015

		/* Evalua la columna a Utilizar @CNIM_INTE_0002 */
			IF @CNIM_INTE_0002 = 0
				SELECT @VNIM_VARI_0002 = 0.00
			IF @CNIM_INTE_0002 = 1
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0001
			IF @CNIM_INTE_0002 = 2
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0002
			IF @CNIM_INTE_0002 = 3
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0003
			IF @CNIM_INTE_0002 = 4
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0004
			IF @CNIM_INTE_0002 = 5
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0005
			IF @CNIM_INTE_0002 = 6
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0006
			IF @CNIM_INTE_0002 = 7
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0007
			IF @CNIM_INTE_0002 = 8
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0008
			IF @CNIM_INTE_0002 = 9
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0009
			IF @CNIM_INTE_0002 = 10
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0010
			IF @CNIM_INTE_0002 = 11
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0011
			IF @CNIM_INTE_0002 = 12
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0012
			IF @CNIM_INTE_0002 = 13
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0013
			IF @CNIM_INTE_0002 = 14
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0014
			IF @CNIM_INTE_0002 = 15
				SELECT @VNIM_VARI_0002 = @CNIM_CABE_0015

		/* Evalua la columna a Utilizar @CNIM_INTE_0003 */
			IF @CNIM_INTE_0003 = 0
				SELECT @VNIM_VARI_0003 = 0.00
			IF @CNIM_INTE_0003 = 1
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0001
			IF @CNIM_INTE_0003 = 2
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0002
			IF @CNIM_INTE_0003 = 3
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0003
			IF @CNIM_INTE_0003 = 4
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0004
			IF @CNIM_INTE_0003 = 5
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0005
			IF @CNIM_INTE_0003 = 6
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0006
			IF @CNIM_INTE_0003 = 7
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0007
			IF @CNIM_INTE_0003 = 8
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0008
			IF @CNIM_INTE_0003 = 9
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0009
			IF @CNIM_INTE_0003 = 10
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0010
			IF @CNIM_INTE_0003 = 11
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0011
			IF @CNIM_INTE_0003 = 12
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0012
			IF @CNIM_INTE_0003 = 13
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0013
			IF @CNIM_INTE_0003 = 14
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0014
			IF @CNIM_INTE_0003 = 15
				SELECT @VNIM_VARI_0003 = @CNIM_CABE_0015

		/* Realizo Operacion Aritmetica */
			IF @CSOP_ARIT_0001 = 'S'
			   SELECT @VNIM_MVTO_ORIG = @VNIM_VARI_0001 + @VNIM_VARI_0002
			ELSE
			   SELECT @VNIM_MVTO_ORIG = @VNIM_VARI_0001 - @VNIM_VARI_0002

			IF @CSOP_ARIT_0002 = 'S'
				SELECT @VNIM_MVTO_ORIG = @VNIM_MVTO_ORIG + @VNIM_VARI_0003
			ELSE
				SELECT @VNIM_MVTO_ORIG = @VNIM_MVTO_ORIG - @VNIM_VARI_0003

		SELECT @VNIM_MVTO_ORIG = ROUND(@VNIM_MVTO_ORIG,2)


	    SELECT @VNFA_CAMB = @CNFA_TIPO_CAMB

	/*  Asigna Importe del Sistema del Movimiento  */

		IF @CSCO_MONE_MOVI = 'SOL'
		   SELECT @VNIM_MVTO_CNTB = @VNIM_MVTO_ORIG
		ELSE
		  SELECT @VNIM_MVTO_CNTB = @VNIM_MVTO_ORIG * @VNFA_CAMB

		SELECT 	@VNIM_MVTO_CNTB = ROUND(@VNIM_MVTO_CNTB,2)

		/* Solo cuando la moneda es Soles */

		IF @VSCO_MONE = 'SOL'
			SELECT @VNFA_CAMB = 1.000

	/*  Asigna Glosa del Movimiento  */
		   SELECT @VSDE_GLOS = @CSDE_GLOS_CABE 

	/*  Asigna Tipo de Documento de Referencia  */
		SELECT @VSCO_DOCU_REFE = @CSTI_DORE_CABE
		IF @CSTI_DOCU_REFE = 'N'
	           SELECT @VSCO_DOCU_REFE = NULL

	/*  Asigna C"digo de Documento de Referencia  */
		SELECT @VSNU_DOCU_REFE = @CSNU_DORE_CABE
		IF @CSTI_DOCU_REFE = 'N'
			SELECT @VSNU_DOCU_REFE = NULL

	/*  Asigna Orden de Servicio
	    Por el momento no se esta utilizando  */
		SELECt @VSOR_TRAB = NULL

	/*  Asigna Situaci"n Movimiento  */
		SELECT @VSSI_MVTO_CNTB = 'I'

	/*  Asigna Situaci"n del Documento  */
		SELECT @VSSI_MVTO_DOCU = 'N'

	/*  Asigna Otros   */
		SELECT @VSST_OTRS = NULL

	/*  Asigna Ususario de la Operacion   */
		SELECT @VSCO_USUA = SYSTEM_USER

	/*  Asigna Ususario de la Operacion   */
		SELECT @VDFE_SIST = GETDATE()

        /*  Asigna Valores no directos - Detalle */

		SELECT @VSCO_CNTA_EMPR = @CSCO_CNTA

	/*  Mira si la Insercci"n es Cabecera o Detalle */
	IF @CNNU_DETA = 2 AND @VNNU_FILA <= 2
	   BEGIN
             Declare CU_TTPROC_INTE_I08_2 Cursor For
             SELECT  t3.CO_MONE, t2.NU_LETR_PROV, t3.FE_EMIS,t3.IM_TOTA
             FROM    TCCANJ_PROV t1, TDCANJ_PROV t2, TMLETR_PROV t3
             WHERE   t1.CO_EMPR = @ISCO_EMPR And 
             t1.CO_UNID_CONC = @ISCO_UNID_CONC And
             t1.CO_PROV = @ISCO_PROV And
             t1.NU_CANJ = @ISNU_CANJ And  
             t1.FE_CANJ = @IDFE_CANJ And
             t1.CO_EMPR = t2.CO_EMPR And
             t1.CO_PROV = t2.CO_PROV  And
             t1.NU_CANJ = t2.NU_CANJ  And 
             t2.NU_LETR_PROV is not NULL  And
             t2.CO_EMPR = t3.CO_EMPR And
             t2.CO_PROV = t3.CO_PROV And 
             t2.NU_LETR_PROV= t3.NU_LETR_PROV  
			
                /* Abre Cursor de Interfase - Detalle */
			OPEN CU_TTPROC_INTE_I08_2

			/* Lee cursos de Interfase - Detalle */
			FETCH  CU_TTPROC_INTE_I08_2 INTO  @CSCO_MONE_DETA, 
			@CSNU_LETR_PROV, @CDFE_DOCU_DETA, @CNIM_DETA_0001

		        SELECT @VNNU_FETC_0002 = @@FETCH_STATUS
			WHILE (@VNNU_FETC_0002  = 0)
				BEGIN
				IF (@VNNU_FETC_0002  < 0)
					BEGIN
					   --RAISERROR 20001 "FIN DE ARCHIVO"
					   CLOSE CU_TTPROC_INTE_I08_1
					   DEALLOCATE CU_TTPROC_INTE_I08_1
					   CLOSE CU_TTPROC_INTE_I08_2
					   DEALLOCATE CU_TTPROC_INTE_I08_2
					   RETURN
					END
                                        
					/*  Asigna C"digo de Auxiliar   */

					Select @VSST_AUXI_EMPR  = ST_AUXI_EMPR, @VSST_AUXI_DOCU = ST_DOCU_CNTB
                                        FROM   TMPLAN_EMPR
					WHERE  CO_EMPR = @ISCO_EMPR AND 
					       CO_CNTA_EMPR = @VSCO_CNTA_EMPR

					IF @VSST_AUXI_EMPR = 'S'
					   BEGIN
					      Select @VSTI_AUXI_EMPR = TI_AUXI_EMPR  
                                              FROM   TMPLAN_EMPR
					      WHERE  CO_EMPR = @ISCO_EMPR AND  CO_CNTA_EMPR = @VSCO_CNTA_EMPR
					      SELECT @VSCO_AUXI_EMPR = @CSCO_AUXI_CABE
					   END 
					ELSE 
					    SELECT @VSTI_AUXI_EMPR = NULL, @VSCO_AUXI_EMPR = NULL
                                               
                                         If @VSST_AUXI_DOCU = 'S'
					 	SELECT @VSCO_DOCU = 'LET', @VSNU_DOCU = @CSNU_LETR_PROV, 
					        	@VDFE_DOCU = @CDFE_DOCU_DETA
                                         Else
					   	SELECT @VSCO_DOCU = NULL, @VSNU_DOCU = NULL,
					         @VDFE_DOCU = NULL

					/*  Asigna Importe Origen del Movimiento  */
					/* Evalua la columna a Utilizar @CNIM_INTE_0001 */
					IF @CNIM_INTE_0001 = 0
						SELECT @VNIM_VARI_0001 = 0.00
					IF @CNIM_INTE_0001 = 1
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0001
					IF @CNIM_INTE_0001 = 2
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0002
					IF @CNIM_INTE_0001 = 3
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0003
					IF @CNIM_INTE_0001 = 4
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0004
					IF @CNIM_INTE_0001 = 5
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0005
					IF @CNIM_INTE_0001 = 6
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0006
					IF @CNIM_INTE_0001 = 7
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0007
					IF @CNIM_INTE_0001 = 8
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0008
					IF @CNIM_INTE_0001 = 9
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0009
					IF @CNIM_INTE_0001 = 10
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0010
					IF @CNIM_INTE_0001 = 11
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0011
					IF @CNIM_INTE_0001 = 12
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0012

					IF @CNIM_INTE_0001 = 13
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0013
					IF @CNIM_INTE_0001 = 14
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0014
					IF @CNIM_INTE_0001 = 15
						SELECT @VNIM_VARI_0001 = @CNIM_DETA_0015

					/* Evalua la columna a Utilizar @CNIM_INTE_0002 */
					IF @CNIM_INTE_0002 = 0
						SELECT @VNIM_VARI_0002 = 0.00
					IF @CNIM_INTE_0002 = 1
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0001
					IF @CNIM_INTE_0002 = 2
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0002
					IF @CNIM_INTE_0002 = 3
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0003
					IF @CNIM_INTE_0002 = 4
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0004
					IF @CNIM_INTE_0002 = 5
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0005
					IF @CNIM_INTE_0002 = 6
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0006
					IF @CNIM_INTE_0002 = 7
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0007
					IF @CNIM_INTE_0002 = 8
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0008
					IF @CNIM_INTE_0002 = 9
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0009
					IF @CNIM_INTE_0002 = 10
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0010
					IF @CNIM_INTE_0002 = 11
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0011
					IF @CNIM_INTE_0002 = 12
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0012
					IF @CNIM_INTE_0002 = 13
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0013
					IF @CNIM_INTE_0002 = 14
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0014
					IF @CNIM_INTE_0002 = 15
						SELECT @VNIM_VARI_0002 = @CNIM_DETA_0015


					/* Evalua la columna a Utilizar @CNIM_INTE_0003 */
					IF @CNIM_INTE_0003 = 0
						SELECT @VNIM_VARI_0003 = 0.00
					IF @CNIM_INTE_0003 = 1
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0001
					IF @CNIM_INTE_0003 = 2
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0002
					IF @CNIM_INTE_0003 = 3
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0003
					IF @CNIM_INTE_0003 = 4
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0004
					IF @CNIM_INTE_0003 = 5
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0005
					IF @CNIM_INTE_0003 = 6
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0006
					IF @CNIM_INTE_0003 = 7
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0007
					IF @CNIM_INTE_0003 = 8
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0008
					IF @CNIM_INTE_0003 = 9
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0009
					IF @CNIM_INTE_0003 = 10
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0010
					IF @CNIM_INTE_0003 = 11
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0011
					IF @CNIM_INTE_0003 = 12
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0012
					IF @CNIM_INTE_0003 = 13
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0013
					IF @CNIM_INTE_0003 = 14
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0014
					IF @CNIM_INTE_0003 = 15
						SELECT @VNIM_VARI_0003 = @CNIM_DETA_0015

					/* Realizo Operacion Aritmetica */
					IF @CSOP_ARIT_0001 = 'S'
						SELECT @VNIM_MVTO_ORIG = @VNIM_VARI_0001 + @VNIM_VARI_0002
					ELSE
						SELECT @VNIM_MVTO_ORIG = @VNIM_VARI_0001 - @VNIM_VARI_0002
	
					IF @CSOP_ARIT_0002 = 'S'
						SELECT @VNIM_MVTO_ORIG = @VNIM_MVTO_ORIG + @VNIM_VARI_0003
					ELSE
						SELECT @VNIM_MVTO_ORIG = @VNIM_MVTO_ORIG - @VNIM_VARI_0003
		
					SELECT @VNIM_MVTO_ORIG = ROUND(@VNIM_MVTO_ORIG,2)

					/*  Asigna Factor de Cambio  */
				
					SELECT @VNFA_CAMB = @CNFA_TIPO_CAMB

					/*  Asigna Importe del Sistema del Movimiento  */

					IF @CSCO_MONE_DETA = 'SOL'
						SELECT @VNIM_MVTO_CNTB = @VNIM_MVTO_ORIG
					ELSE
						SELECT @VNIM_MVTO_CNTB = @VNIM_MVTO_ORIG * @VNFA_CAMB

					SELECT 	@VNIM_MVTO_CNTB = ROUND(@VNIM_MVTO_CNTB,2)

					/*  Asigna C"digo de la Moneda */
					SELECT @VSCO_MONE = @CSCO_MONE_DETA

					/* Solo cuando la moneda es Soles */
					IF RTRIM(LTRIM(@VSCO_MONE)) = NULL
					   SELECT @VSCO_MONE = CO_MONE FROM OFICONT..TMPLAN_EMPR
					   WHERE CO_EMPR = @ISCO_EMPR AND CO_CNTA_EMPR = @VSCO_CNTA_EMPR
		
					IF @VSCO_MONE = 'SOL'
					   SELECT @VNFA_CAMB = 1.000

					/*  Asigna Importe del Sistema del Movimiento  */

					IF (@CSCO_MONE_CNTA = @CSCO_MONE_DETA) OR 
					   (@CSCO_MONE_CNTA != @CSCO_MONE_DETA AND 
					    @CSIN_CNTA_MONE = 'N')
		 			BEGIN
					
					--Select @VNNU_REGI_LETR = 0 
/*                                          
                                       
					Select @VNNU_REGI_LETR = COUNT(NU_ASTO) 
                                        From   TTINTE_CNDE
					Where  CO_EMPR = @ISCO_EMPR 
                                        And    NU_CNTB_EMPR = @INNU_CNTB_EMPR 
                                        And    CO_UNID_CNTB = @CSCO_UNID_CNTB 
                                        And    CO_OPRC_CNTB = @CSCO_OPRC_CNTB 
                                        And    NU_ANNO = @VNNU_ANNO 
                                        And    NU_MESE = @VNNU_MESE  
                                        And    NU_ASTO = @VSNU_ASTO 
                                        And    @CSNU_LETR_PROV NOT in (@VSNU_LETR_PROV)                      
                                        
					If @VNNU_REGI_LETR = 1
					   Begin*/

					      /*  Incrementa Secuencial dentro de un asiento   */
					      SELECT @VNNU_SECU = @VNNU_SECU + 1

					      Select @VSNO_AUXI = NO_AUXI
        	      			      From   TMAUXI_EMPR
			              	      Where  CO_EMPR = @ISCO_EMPR
               	      			      And    TI_AUXI_EMPR = @VSTI_AUXI_EMPR
			                      And    CO_AUXI_EMPR = @VSCO_AUXI_EMPR

		                              INSERT INTO #TTINTE_TESO (NU_SECU,
        	  			      FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR, NO_AUXI, TI_DOCU, 
NU_DOCU,
               	  			      CO_MONE, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,IM_MVTO_CNTB, DE_GLOS)	
    
		  			      VALUES (@VNNU_SECU, @VDFE_ASTO_CNTB, @VSCO_CNTA_EMPR,  @VSTI_AUXI_EMPR, 
@VSCO_AUXI_EMPR, @VSNO_AUXI,
	                  		      @VSCO_DOCU, @VSNU_DOCU, @VSCO_MONE, @CNFA_TIPO_CAMB, @VSTI_OPER, 
@VNIM_MVTO_ORIG,
		          		      @VNIM_MVTO_CNTB, @VSDE_GLOS)		  
				
					       IF (@@ERROR != 0)
   					          Begin
				  	    	    Close CU_TTPROC_INTE_I08_1
					    	    Deallocate CU_TTPROC_INTE_I08_1
					    	    Close CU_TTPROC_INTE_I08_2
					    	    Deallocate CU_TTPROC_INTE_I08_2
					            Return
					          End 


					SELECT @VNFC_ASTO = 1
					END 
					/* Inicializo variables de trabajo e insercci"n */
					SELECT @VNIM_VARI_0001	= 0
					SELECT @VNIM_VARI_0002	= 0
					SELECT @VNIM_VARI_0003	= 0

					SELECT @VSCO_AUXI_EMPR = NULL
					SELECT @VNIM_MVTO_ORIG = 0
					SELECT @VNIM_MVTO_CNTB = 0

					/* Lee cursos de Interfase - Detalle */

					FETCH  CU_TTPROC_INTE_I08_2 INTO  @CSCO_MONE_DETA, 
					@CSNU_LETR_PROV, @CDFE_DOCU_DETA, @CNIM_DETA_0001

					SELECT @VNNU_FETC_0002 = @@FETCH_STATUS


				END


				CLOSE CU_TTPROC_INTE_I08_2
                                DEALLOCATE CU_TTPROC_INTE_I08_2
                                SELECT @VNNU_FILA = @VNNU_FILA+ 1

		END

	/*  Inserta registros en la tabla de movimientos de interfase contable - Cabecera */

	ELSE If @CNNU_DETA = 1
		BEGIN
		    IF (@CSCO_MONE_CNTA = @CSCO_MONE_MOVI) OR 
		       (@CSCO_MONE_CNTA != @CSCO_MONE_MOVI AND 
			@CSIN_CNTA_MONE = 'N')
			BEGIN
			/*  Incrementa Secuencial dentro de un asiento   */
			SELECT @VNNU_SECU = @VNNU_SECU + 1

			SELECT @VSNU_ASTO = '0'+SUBSTRING(@VSNU_ASTO,2,10)
			/* SELECT @VSTI_AUXI_EMPR = NULL, @VSCO_AUXI_EMPR = NULL */


			Exec SP_TTDOCU_CNTB_Q02 22, @OSTI_DOCU_CRET  OUTPUT

			SELECT @VSST_SIGN =  ST_SIGN
                        FROM TTDOCU_CNTB
			WHERE TI_DOCU = @CSTI_DOCU_CABE
		
			IF @VSST_SIGN = 'N'
			   Begin
			      IF @VSTI_OPER = 'C' 
		                 SELECT @VSTI_OPER = 'A'
			   End 
			ELSE
			   Begin
			      IF @CSTI_DOCU_CABE != @OSTI_DOCU_CRET 			
			   	SELECT @VSTI_OPER = 'C'                        
			   End 

		IF ( @CSTI_DOCU_CABE = @OSTI_DOCU_CRET And SUBSTRING(@CSCO_CNTA,1,3) = '429') Or
                   ( @CSTI_DOCU_CABE != @OSTI_DOCU_CRET And SUBSTRING(@CSCO_CNTA,1,3) = '421')                 
                     BEGIN

			Select @VSNO_AUXI = NO_AUXI
        	      	From   TMAUXI_EMPR
			Where  CO_EMPR = @ISCO_EMPR
               	      	And    TI_AUXI_EMPR = @VSTI_AUXI_EMPR
			And    CO_AUXI_EMPR = @VSCO_AUXI_EMPR

                       INSERT INTO #TTINTE_TESO (NU_SECU,
                       FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR, NO_AUXI, TI_DOCU, NU_DOCU,
               	       CO_MONE, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,IM_MVTO_CNTB, DE_GLOS)	
    
		       VALUES (@VNNU_SECU, @VDFE_ASTO_CNTB, @VSCO_CNTA_EMPR,  @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR, @VSNO_AUXI,
	                       @VSCO_DOCU, @VSNU_DOCU, @VSCO_MONE, @CNFA_TIPO_CAMB, @VSTI_OPER, @VNIM_MVTO_ORIG,
		               @VNIM_MVTO_CNTB, @VSDE_GLOS)		  

			IF (@@ERROR != 0)
   			   BEGIN
			    CLOSE CU_TTPROC_INTE_I08_1
			    DEALLOCATE CU_TTPROC_INTE_I08_1
			    RETURN
		       	   END
                     END
			SELECT @VNFC_ASTO = 1
 		END 
	END
 	/* Inicializo variables de trabajo e insercci"n */
	SELECT @VNIM_VARI_0001	= 0
	SELECT @VNIM_VARI_0002	= 0
	SELECT @VNIM_VARI_0003	= 0

	SELECT @VNNU_ANNO = 0
	SELECT @VNNU_MESE = 0
	SELECT @VDFE_ASTO_CNTB = NULL
	SELECT @VSCO_CNTA_EMPR = NULL
	SELECT @VSTI_AUXI_EMPR = NULL
	SELECT @VSCO_AUXI_EMPR = NULL
	SELECT @VSCO_DOCU = NULL
	SELECT @VSNU_DOCU = NULL
	SELECT @VDFE_DOCU = NULL
	SELECT @VSTI_CAMB = NULL
	SELECT @VSCO_MONE = NULL
	SELECT @VNFA_CAMB = 0
	SELECT @VSTI_OPER = NULL
	SELECT @VNIM_MVTO_ORIG = 0
	SELECT @VNIM_MVTO_CNTB = 0
	SELECT @VSDE_GLOS = NULL
	SELECT @VSCO_DOCU_REFE = NULL
	SELECT @VSNU_DOCU_REFE = NULL
	SELECT @VSNO_GIRA = NULL
	SELECT @VSOR_TRAB = NULL
	SELECT @VSSI_MVTO_CNTB = NULL
	SELECT @VSSI_MVTO_DOCU = NULL

	SELECT @VSST_OTRS = NULL 	
	SELECT @VSCO_USUA = NULL
	SELECT @VDFE_SIST = NULL
	SELECT @VSNO_GIRA = NULL

	/* Lee cursos de Interfase - Cabecera */
	Fetch  CU_TTPROC_INTE_I08_1 Into
	@CSCO_TIPO_OPER, @CNNU_CORR, @CNNU_DETA, @CSCO_OPRC_CNTB, @CNID_ASTO,
	@CSCO_CNTA, @CSIN_CNTA_MONE, @CSCO_MONE_CNTA, @CSTI_AUXI_CNTA, @CSTI_DOCU_CNTA, @CSTI_DOCU_REFE,
	@CSTI_MOVI, @CNIM_INTE_0001, @CSOP_ARIT_0001, @CNIM_INTE_0002, @CSOP_ARIT_0002, @CNIM_INTE_0003,
	@CSDE_GLOS_INTE, 
	@CSCO_AUXI_CABE, @CSNU_CANJ, @CSCO_MONE_MOVI, @CSTI_DOCU_CABE, @CSNU_DOCU_CABE, @CDFE_EMIS_CABE, @CDFE_CANJ, 
	@CNIM_CABE_0001, @CSDE_GLOS_CABE, @CSCO_UNID_CNTB, @CNFA_TIPO_CAMB

        SELECT @VNNU_FETC_0001  = @@FETCH_STATUS

END
CLOSE CU_TTPROC_INTE_I08_1
DEALLOCATE CU_TTPROC_INTE_I08_1

SELECT T1.NU_SECU, T1.FE_ASTO_CNTB, T1.CO_CNTA_EMPR, T2.DE_CNTA_EMPR, T1.TI_DOCU, T1.NU_DOCU,
     T1.CO_MONE, T1.FA_CAMB_DIAR, T1.TI_OPER, T1.IM_MVTO_ORIG, T1.IM_MVTO_CNTB, T1.DE_GLOS, 
     T1.CO_AUXI_EMPR, T1.NO_AUXI, @ISNU_CANJ
FROM  #TTINTE_TESO T1, TMPLAN_EMPR T2
WHERE T2.CO_EMPR = @ISCO_EMPR
AND   T1.CO_CNTA_EMPR = T2.CO_CNTA_EMPR
AND   T2.NU_ANNO = 9999 

RETURN

/********************************* FIN *****************/


GO
